package com.gz;
import java.util.*;
@SuppressWarnings({"all"})
public class Test {
    public static void main(String[] args) {
        HashSet hashSet = new HashSet();
        //这两个hashcode不同所以两次都可以加入
        hashSet.add(new A("zhangfei"));//可以加入
        hashSet.add(new A("zhangfei"));//可以加入

        //这两个hashcode相同，第二次不能加入
        //注:String类重写了hashcode，内容相同的，
        //hashcode相同，与其他类不同，其他类没有重写
        //hashcode，所以它们即使内容相同但hashcode不同可以重复添加
        //若要和String一样内容相同就不能添加，要重写hashcode（）和equals()！！
        hashSet.add(new String("zhangfei"));//可以加入
        hashSet.add(new String("zhangfei"));//不可以加入！！

    }
}
class A{
    public A(String name) {
        this.name = name;
    }

    String name;

    @Override
    public String toString() {
        return "A{" +
                "name='" + name + '\'' +
                '}';
    }
}
